const jwt = require("jsonwebtoken")
const { PRIVATE_KEY, PUBLIC_KEY } = require("../config/screct")

class LoginController {
  // 颁发令牌，传入token
  sign(ctx, next) {
    // 1.获取用户信息
    const { username, id } = ctx.user
    // 2.颁发token
    const token = jwt.sign({ username, id }, PRIVATE_KEY, {
      expiresIn: 24 * 60 * 60, // 过期时间
      algorithm: "RS256", // 加密算法
    })
    // 3.返回登录信息
    ctx.body = {
      code: 0,
      data: { username, id, token },
    }
  }

  // 拿token去测试能否正常访问
  test(ctx, next) {
    ctx.body = `验证身份通过~`
  }
}

module.exports = new LoginController()
